Coral DSHT
CoralCDNの中で提案されている
Distributed Sloppy Hash Table
Coralでは,同じキーの下に複数の値が保存されることがある
各Coralノードはクラスタを形成する
各クラスタはRTTの直径で結ばれる
上位の高速クラスタに先に問い合わせる
Method
Put(key, val, ttl, *levels)
値をセット.TTL(Time-to-live)を設定する.
Get(key, *levels)
値を取得
Nodes
Levelで指定されたノードのクラスタに属する隣人数を返す.
Levels
レベルとRTT閾値を返す
単順にDHTにデータを保存するのは無駄なストレージと帯域幅が浪費されてしまうので,Kademliaを拡張 1.
XOR距離に基づく
既にデータを持っているかもしれない遠いノードを無視し,最も近いノードがデータを欲しているかどうかに関わらず格納しようとする
結果,ストレージと帯域が無駄に消費される
代わりに,ポインタ(実際にデータを持ってるノードのアドレス)を保持することで効率化を図る
2.
地域と規模によって階層化されたクラスタを作ることで,近いノードから探索を始めて低レイテンシーを実現